#include "singletonroot.h"



#ifndef RETURNSINGLET
#define RETURNSINGLET(className)    \
static className* p = nullptr;      \
if(p == nullptr) p = new className();\
return p;
#endif


SingletonRoot::SingletonRoot(QObject *parent) : QObject(parent)
{

}

PageJump *SingletonRoot::pageJump()
{
    RETURNSINGLET(PageJump)
}

GlobalData *SingletonRoot::data()
{
    RETURNSINGLET(GlobalData)
}

DBTool *SingletonRoot::db()
{
    RETURNSINGLET(DBTool)
}

PublicTool *SingletonRoot::pTools()
{
    RETURNSINGLET(PublicTool)
}

CSVTools *SingletonRoot::pCSVTools()
{
    RETURNSINGLET(CSVTools)
}
